//**********************************************
//  PK .  PK     ,  :
//     /    
//    (    ):
//   PK   - %pk_target 1
//   PK   - %pk_target 0
//       PK - %pk_msg 1
//       PK - %pk_msg 0
//**********************************************
var
ObjectID, Karma, Target, Message, i: Integer;
Name, Cvar: String;

procedure SendMsg(Msg:string);
  begin
    buf:=#$4A;
    WriteD(0);
    WriteD(10);
    WriteS('');
    WriteS(Msg);
    SendToClient;
  end;

procedure TargetPK(ObjectID: Integer);
  begin
    buf:=#$04;
    WriteD(ObjectID);
    SendToServer;
  end;

begin
  if FromServer and (pck[1]=#$03) then
    begin
      i:=18;
      ObjectID:=ReadD(i);
      Name:=ReadS(i);
      Karma:=ReadD(i+60);
      if (Karma>0) then
        begin
          if Message=1 then SendMsg('PK   '+Name+'  !');
          if Target=1 then TargetPK(ObjectID);
        end;
      end;
  if FromClient and (pck[1]=#$38) then
    begin
      Cvar:=ReadS(2);
      case Cvar of
        'pk_target 1':
          begin
            Target:=1;
            SendMsg('  PK   !');
          end;
        'pk_target 0':
          begin
            Target:=0;
            SendMsg('  PK   !');
          end;
        'pk_msg 1':
          begin
            Message:=1;
            SendMsg('      PK !');
          end;
        'pk_msg 0':
          begin
            Message:=0;
            SendMsg('      PK !');
          end;
      end;
    end;
end.
